package cc.devclub.ftd.thread.create;

/**
 * 实现Runnable接口
 * <p>
 * （1）定义Runnable接口的实现类，并重写该接口的run()方法，该run()方法的方法体同样是该线程的线程执行体。
 * <p>
 * （2）创建 Runnable实现类的实例对象，并将该实例作为Thread的target来创建一个Thread对象，该Thread对象才是真正的线程运行对象。
 * <p>
 * （3）调用该线程对象的start()方法来启动线程。
 * <p>
 * 演示场景：售票员售票
 *
 * @Author: 【我是开发者FTD】公众号 微信号：ForTheDevelopers
 */
public class MyRunableThread implements Runnable {

    // 总票数
    public int count = 10;

    @Override
    public void run() {
        // 当还有票时就继续售卖
        while (count > 0) {
            // 剩余票数
            count--;
            System.out.println(
                    Thread.currentThread().getName() + "售卖第 " + (10 - count) + " 张票,当前剩余票数: " + count);
        }
    }

    public static void main(String[] args) {
        MyRunableThread myRunableThread = new MyRunableThread();
        Thread myThread = new Thread(myRunableThread);
        myThread.start();
    }
}
